package com.example.mybatisplusdemo.model.domain;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author lxp
 * @since 2025-07-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("payment_record")
@ApiModel(value="PaymentRecord对象", description="")
public class PaymentRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("order_id")
    private Integer orderId; // 关联的订单ID

    @TableField("order_no")
    private String orderNo; // 订单编号

    @TableField("payment_no")
    private String paymentNo; // 支付系统交易号

    @TableField("payment_method")
    private Integer paymentMethod; // 支付方式: 1-支付宝 2-微信 3-银行卡

    @TableField("amount")
    private BigDecimal amount; // 支付金额

    @TableField("status")
    private Integer status; // 支付状态: 0-未支付 1-支付成功 2-支付失败 3-已退款

    @TableField("payment_time")
    private Date paymentTime; // 支付时间

    @TableField("callback_time")
    private Date callbackTime; // 回调时间

    @TableField("callback_content")
    private String callbackContent; // 回调内容

    @TableField("create_time")
    private Date createTime; // 创建时间

    @TableField("update_time")
    private Date updateTime; // 更新时间

    @TableField("is_deleted")
    @TableLogic
    private Byte isDeleted;
}
